package com.zzdx.deployment.system.service;

import com.zzdx.deployment.system.domain.ProductResource;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 文件处理业务层
 *
 * @author mason
 */
public interface IFileService {
    /**
     * 根据资源id下载文件
     *
     * @param productResourceId 资源id
     * @param response         响应对象
     * @return 用户信息集合信息
     */
    void download(String productResourceId, HttpServletResponse response) throws IOException;

    /**
     * 上传文件
     *
     * @param file          上传请求
     * @param productResource 产品资源对象，需要包含产品版本ID，version,systemType,resourceType等信息
     */
    String upload(MultipartFile file,ProductResource productResource);

    /**
     * 上传文件并更新资源信息
     * @param file 上传的文件
     * @param productResource 资源对象
     * @return
     */
    String updateAndUpload(MultipartFile file, ProductResource productResource);


    /**
     * 根据配置ID生成配置文件，并输出返回
     * @param prjvConfigId 配置记录id
     * @param response 返回
     * @return
     */
    String downloadPropFile(String prjvConfigId, HttpServletResponse response);
}
